package research.dao;

import java.util.List;

import research.entity.Entity;
import research.model.IHierarchyProvider;

public interface IEntityDAO {

	public Entity get(Class<?> type, long id, boolean lock);

	public List<Entity> getAll(Class<?> type);

	public Entity makePersistent(Entity entity);

	public void makeTransient(Entity entity);

	public List<Entity> getChildren(Entity entity,
			IHierarchyProvider hierarchy);

	public Entity getParent(Entity entity, IHierarchyProvider hierarchy);
	
}